<?php 
	require_once 'header.php';
	require_once 'lib/nusoap.php';
?>

<form name="formCriarTicket" action="" method="post">
	CPF: <input type="text" name="cpf" maxlength="15" /> <br/>
	Grupo: <input type="text" name="grupo" maxlength="5" /> <br/>
	Texto: <textarea name="texto"></textarea> <br/>
	Tipo de Chamado: 
	<select name="tipoChamado">
		<option value="1">Sugestão</option>
		<option value="2">Dúvida</option>
		<option value="3">Reclamação</option>
		<option value="4">Pedido</option>
	</select><br/>
	
	<input type="submit" name="criarTicket" value="Enviar" />
</form>

<?php



require_once 'bd.php';

if(isset($_POST["criarTicket"])) {
	$cpf = $_POST["cpf"];
	$grupo = $_POST["grupo"];
	$texto = $_POST["texto"];
	$tipoChamado = $_POST["tipoChamado"];
	
	//$client = new nusoap_client("http://localhost/servico-atendimento-cliente/trunk/CriarTicketServico.php");
	$client = new nusoap_client("http://mpsolucoesweb.com.br/atendimento-cliente/CriarTicketServico.php");
	
	$error = $client->getError();
	if ($error) {
		echo "<h2>Constructor error</h2><pre>" . $error . "</pre>";
	}
	
	$result = $client->call("CriarTicket", array("CPF" => $cpf, "Texto" => $texto, "TipoChamado" => $tipoChamado, "Grupo" => $grupo));
	
	if ($client->fault) {
		echo "<h2>Fault</h2><pre>";
		print_r($result);
		echo "</pre>";
	}
	else {
		$error = $client->getError();
		if ($error) {
			echo "<h2>Error</h2><pre>" . $error . "</pre>";
		}
		else {
			if(!$result["Erro"])
			{
				echo "Código de acompanhamento: ".$result["CodigoAcompanhamento"];
			}
			// Se houve erro, mostro o codigo do erro
			else
			{
				echo "Erro: ".$result["Erro"];
			}
		}
	}
	
	
	/* $retorno = CriarTicket($cpf, $texto, $tipoChamado);
	
	// Se nao houve erro, mostro o codigo de acompanhamento
	if(!$retorno["Erro"])
	{
		echo "Código de acompanhamento: ".$retorno["CodigoAcompanhamento"];	
	}
	// Se houve erro, mostro o codigo do erro
	else
	{
		echo "Erro: ".$retorno["Erro"];	
	} */
	
}

/**
 * Executa o cadastro de um ticket, e retorna o codigo do ticket criado
 */
function CriarTicket($CPF = NULL, $Texto = NULL, $TipoChamado = NULL) {
	
	$erro = FALSE;
	$codigoErro = FALSE;
	
	/*
	 * Parametros nao suficientes
	 */
	if($CPF == NULL || $Texto == NULL || $TipoChamado == NULL) {
		$erro = TRUE;
		$codigoErro = "501";
	}
	
	/*
	 * Tenta fazer a conexao com o banco pgsql
	 */
	$con = connect();
	if(!$con) { 
		$erro = TRUE;
		$codigoErro = "502";
	}
	
	/*
	 * Insere na tabela de chamados
	 */
	$queryCode = "INSERT INTO atendimento_cliente_chamado 
					(cliente, tipo_id, status, abertura, atualizacao)
					VALUES
					('".$CPF."', ".$TipoChamado.", 1, CURRENT_DATE, CURRENT_DATE)";
	$success = pg_query($queryCode);
	if(!$success) {
		$erro = TRUE;
		$codigoErro = "502";
	}
	
	/*
	 * Resgata o codigo do chamado que acabou de ser aberto, para retornar no final da funcao
	 */
	$queryCode = "SELECT max(id) FROM atendimento_cliente_chamado";
	$result = pg_query($queryCode);
	if (!$result)
	{
		$erro = TRUE;
		$codigoErro = "502";
	}
	else 
	{
		while ($row = pg_fetch_row($result)) 
		{
			$codigoChamado = $row[0];
		}
	}
	
	/*
	 * Insere o conteudo do chamado na tabela de pergunta
	 */
	$queryCode = "INSERT INTO atendimento_cliente_pergunta 
					(chamado_id, descricao, data)
					VALUES
					(".$codigoChamado.", '".$Texto."', CURRENT_DATE)";
	$success = pg_query($queryCode);
	if(!$success) {
		$erro = TRUE;
		$codigoErro = "502";
	}	
	
	$retorno = array("CodigoAcompanhamento" => $codigoChamado, "Erro" => $codigoErro);
	return $retorno;
		
}

?>
